package com.aboverock.integrations.redis.lock;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * <p>
 * Redis分布式锁注解
 * <p>
 *
 * @author RockerWang
 * @date Created in 2021/12/3 0:42
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface RedisLockable {

    /**
     * 保存在redis中key
     */
    String[] key() default "";

    /**
     * 默认过期时间(ms 毫秒)
     */
    int expiration() default 60 * 1000;

    /**
     * 超时时间(ms 毫秒)
     */
    int timeout() default 1000;
}
